<?php

/**
 * Description of Test
 *
 * @author Dingo
 */
class Modul_Admin_Rotator_Edycja extends Modul_Admin_Abstract {

    protected $nazwaModulu = 'Admin_Rotator_Edycja';

    public function inicjalizuj() {
        $this->strona = array('tytul' => 'Edycja banera');
        $this->szablon = array('tpl1' => '../Admin/Rotator/Edycja.tpl');

        if (isset($this->param['akcja']) &&
                $this->param['akcja'] == 'edytuj') {
            $this->edytuj();
        } else if (isset($this->param['akcja']) &&
                $this->param['akcja'] == 'dodaj') {
            $this->dodaj();
        } else if (isset($this->param['akcja']) &&
                $this->param['akcja'] == 'usun') {
            $this->usun();
        }
    }

    private function edytuj() {
        $id = isset($this->param['id']) ? $this->param['id'] : $_POST['id'];
        if (!is_numeric($id)) {
            die();
        }
        $rotator = Sql::FindById('Rotator', $id);
        $this->daneTPL['form'] = Form_Rotator::generuj($rotator,
                        '/cms/rotator/edycja/akcja,edytuj.html');
        if (isset($_POST['id'])) {
            $bledy = $this->waliduj();
            if (Form_Valid::isValid($bledy)) {
                $rotator->populate($_POST);
                if (!isset($_POST['status'])) {
                    $rotator->status = 2;
                }
                $rotator->save();
                $this->zakoncz('/cms/rotator/');
            } else {
                $this->daneTPL['bledy'] = $bledy;
            }
        }
    }

    private function dodaj() {
        $rotator = new Rotator();
        $this->daneTPL['form'] = Form_Rotator::generuj($rotator,
                        '/cms/rotator/edycja/akcja,dodaj.html');
        if (isset($_POST['tresc'])) {
            $bledy = $this->waliduj();
            if (Form_Valid::isValid($bledy)) {
                unset($_POST['id']);
                $rotator->populate($_POST);
                if (!isset($_POST['status'])) {
                    $rotator->status = 2;
                }
                $rotator->save();
                $this->zakoncz('/cms/rotator/');
            } else {
                $this->daneTPL['bledy'] = $bledy;
            }
        }
    }

    private function waliduj() {
        /* Walidacja */
        if (Form_Valid::isEmpty(Form_Valid::getFormValue('tresc'))) {
            $bledy[] = "Treść nie może być pusta!";
        } else if (Form_Valid::isTooLong(Form_Valid::getFormValue("tresc"), 600)) {
            $bledy[] = "Wpisana treść jest za długa! Nie zmieści się :(";
        }

        if (Form_Valid::isEmpty(Form_Valid::getFormValue('obrazek'))) {
            $bledy[] = "Musisz podać URL obrazka";
        } else if (Form_Valid::isTooLong(Form_Valid::getFormValue("obrazek"), 240)) {
            $bledy[] = "Url obrazka może mieć maksymalnie 255 znaków";
        }

        return $bledy;
    }

    private function usun() {
        if (!isset($this->param['id']) || !is_numeric($this->param['id'])) {
            die();
        }
        $user = Sql::FindById('Rotator', $this->param['id']);
        $user->status = 0;
        $user->save();
        die();
    }

}

?>
